package algo3.algothief.vista;

import java.io.BufferedReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;


public class VistaPista {

	private static void tiempoDeEsperaEntreDialogos(int miliSegundos) {
		try {
		    Thread.sleep(miliSegundos);
		} catch(InterruptedException ex) {
		    Thread.currentThread().interrupt();
		}
	}
	
	private static void graficarMensajeIntermedioEntreMensajes(BufferedReader entradaDeTeclado) throws IOException {
		System.out.println("(Presione enter para continuar)");
		entradaDeTeclado.readLine();
	}
	
	
	
	private static int generarEnteroAlAzarEntre(int minimoValor, int maximoValor) {
		Random generadorAleatorio = new Random();
		int numeroAlAzar = generadorAleatorio.nextInt(maximoValor - minimoValor + 1) + minimoValor;
	
		return numeroAlAzar;
	}
	
	private static ArrayList<String> crearPersonasConOficioAleatorio() {
		ArrayList<String> personas = new ArrayList<String>();
		
		personas.add("Empresario");
		personas.add("Politico");
		personas.add("Contador");
		personas.add("Cajera");
		personas.add("Recepcionista");
		personas.add("Embajador");
		personas.add("Comerciante");
		
		return personas;
	}
	
	private static String elegirPersonaConOficioAleatorio() {
		ArrayList<String> personas = VistaPista.crearPersonasConOficioAleatorio();
		
		int cantidadDePersonas = personas.size();
		int indiceDePersonAlAzar = VistaPista.generarEnteroAlAzarEntre(0, cantidadDePersonas - 1);
		
		String persona = personas.get(indiceDePersonAlAzar);
		
		return persona;
	}

//---------------------------------------------------------------------------------------------------------
	
	public static void graficarMensajeConPistaParaElJugador(String pista, BufferedReader entradaDeTeclado) throws IOException {
		String personaConOficioAleatorio = VistaPista.elegirPersonaConOficioAleatorio();
		
		System.out.println("             /-----------------\\              ");
		System.out.println("                " + personaConOficioAleatorio);
		System.out.println("             \\-----------------/              ");
		
		System.out.println("\n" + pista);
		
		VistaPista.tiempoDeEsperaEntreDialogos(500);
		
		VistaPista.graficarMensajeIntermedioEntreMensajes(entradaDeTeclado);
	}
}
